package com.crm.api.service;

import java.util.List;
import java.util.Map;

/**
 * 工单历史服务接口
 */
public interface WorkOrderHistoryService {

    /**
     * 记录工单创建历史
     */
    void recordCreateHistory(Integer workOrderId, Integer operatorId, String operatorName);

    /**
     * 记录工单分配历史
     */
    void recordAssignHistory(Integer workOrderId, Integer oldAssignedTo, Integer newAssignedTo, 
                            Integer operatorId, String operatorName, String newAssignedName);

    /**
     * 记录状态变更历史
     */
    void recordStatusChangeHistory(Integer workOrderId, String oldStatus, String newStatus,
                                  Integer operatorId, String operatorName);

    /**
     * 记录解决方案添加历史
     */
    void recordSolutionHistory(Integer workOrderId, String solution,
                              Integer operatorId, String operatorName);

    /**
     * 记录客户反馈历史
     */
    void recordFeedbackHistory(Integer workOrderId, String feedback, Integer rating,
                              Integer operatorId, String operatorName);

    /**
     * 获取工单所有操作历史
     */
    List<Map<String, Object>> getWorkOrderHistory(Integer workOrderId);

    /**
     * 获取工单处理记录（解决方案相关）
     */
    List<Map<String, Object>> getWorkOrderSolutions(Integer workOrderId);

    /**
     * 获取工单状态历史
     */
    List<Map<String, Object>> getWorkOrderStatusHistory(Integer workOrderId);
}